#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdbool.h>
//
//typedef int BTDataType;
//
//typedef struct BinaryTreeNode
//{
//	BTDataType data;
//	struct BinaryTreeNode* left;
//	struct BinaryTreeNode* right;
//}BTNode;
//
//BTNode* BTreeFind(BTNode* root, BTDataType x)
//{
//	if (root == NULL)
//		return NULL;
//
//	if (root->data == x)
//		return root;
//
//	BTNode* ret1 = BTreeFind(root->left,x);
//	if (ret1 != NULL)
//	{
//		return ret1;
//	}
//	BTNode* ret2 = BTreeFind(root->right,x);
//	if (ret2 != NULL)
//	{
//		return ret2;
//	}
//	return NULL;
//}



struct TreeNode {
    int val;
    struct TreeNode *left;
    struct TreeNode *right;
};



bool isSameTree(struct TreeNode* p, struct TreeNode* q) {
	if (p == NULL && q == NULL)
		return true;

	if (p == NULL || q == NULL)
		return false;

	if (p->val != q->val)
		return false;

	return isSameTree(p->left, q->left)
		&& isSameTree(p->right, q->right);
}